In its short history, Internet usage has been mainly driven by portals and search engines, such as Yahoo! and Google. Recently, the rapid growth of social networking sites, such as MySpace and Facebook, has revealed a new trend of Internet usage. Social networking generally relates to services and tools that help users maintain and expand their circles of friends usually by exploiting existing relationships. Social networking sites have shown potential to become the places on the Internet where many people spend most of their time, thus making these sites the main entry point for online activity. Often times, these social networking sites can become the focal point of sharing information, such as links, multimedia, music, and the like.
In general, social networking sites and other online services of the Internet offer a mix of features and tools, such as message boards, games, journals or web logs (“blogs”). One of the main features utilized by social network sites is file transfers and downloads.
File transfers in a network computer system is a well-known concept. For example, in the early days of the Internet, file transfers were accomplished by connecting to a destination computer and executing a file transfer command (e.g. FTP). This type of data transfer can be referred to as a client-server model.
The client-server model of data transfer has disadvantages and faults. For example, if one server or several servers store copies, i.e., mirrors, of a file(s), these server(s) can be rapidly overwhelmed in response to a spike of popularity of the file(s). Accordingly, the user experience in obtaining these file(s) may be less than satisfactory.
Peer-to-peer (P2P) systems offer advantages over the traditional client-server model. A P2P computer network is a network that relies primarily on the computing power and bandwidth of the participants in the network rather than concentrating it in a relatively low number of servers. P2P networks are typically used for connecting nodes via largely ad hoc connections. Such networks are useful for many purposes.
Although P2P networks can offer greater bandwidth and availability of files, there are still drawbacks and disadvantages. For example, since a selected file is distributed among the peers in a given P2P network, a file download may not ever be completed if the peer that has the missing segment does not participate in the P2P network or is not online at the same time as the user. Moreover, a user may not be ensured that a segment may be infected with malicious software (malware such as spyware, viruses, etc.).
Accordingly, there is need for a P2P network system for social network services that provides a measure of security as well as availability.